The Internet is a global system of interconnected computers and computer networks that use a standard Internet protocol suite (e.g., the Transmission Control Protocol (TCP) and Internet Protocol (IP)) to communicate with each other. The Internet of Things (IoT) is based on the idea that everyday objects, not just computers and computer networks, can be readable, recognizable, locatable, addressable, and controllable via an IoT communications network (e.g., an ad-hoc system or the Internet).
A number of market trends are driving development of IoT devices. For example, increasing energy costs are driving governments' strategic investments in smart grids and support for future consumption, such as for electric vehicles and public charging stations. Increasing health care costs and aging populations are driving development for remote/connected health care and fitness services. A technological revolution in the home is driving development for new “smart” services, including consolidation by service providers marketing ‘N’ play (e.g., data, voice, video, security, energy management, etc.) and expanding home networks. Buildings are getting smarter and more convenient as a means to reduce operational costs for enterprise facilities.
There are a number of key applications for the IoT. For example, in the area of smart grids and energy management, utility companies can optimize delivery of energy to homes and businesses while customers can better manage energy usage. In the area of home and building automation, smart homes and buildings can have centralized control over virtually any device or system in the home or office, from appliances to plug-in electric vehicle (PEV) security systems. In the field of asset tracking, enterprises, hospitals, factories, and other large organizations can accurately track the locations of high-value equipment, patients, vehicles, and so on. In the area of health and wellness, doctors can remotely monitor patients' health while people can track the progress of fitness routines.
Accordingly, in the near future, increasing development in IoT technologies will lead to numerous IoT devices surrounding a user at home, in vehicles, at work, and many other locations. As more and more devices become network-aware, problems that relate to configuring devices to access wireless networks will therefore become more acute. In particular, existing mechanisms to configure devices to access wireless networks tend to suffer from various drawbacks and limitations, which include a complex user experience, insufficient reliability, and security vulnerabilities, among other things. For example, configuring devices to access infrastructure-mode Wi-Fi networks and other similar wireless networks typically requires association and authentication of the device. In certain cases, a process called “onboarding” may be used to accomplish the secure admission to the wireless network, wherein onboarding may allow thin client devices, headless devices, and other devices that may presumably lack a friendly user interface to learn sufficient information about the destination wireless network to accomplish the admission and authentication processes required to join the wireless network. However, mechanisms that are currently used to configure or “onboard” a device tend to focus on two general methods, which both suffer from various drawbacks and limitations. More particularly, one current mechanism used to configure or onboard a device focuses on an out-of-band conveyance in which network configuration information is conveyed using some mechanism other than the wireless network itself (e.g., flashing lights, sounds, a camera scanning a quick response code, etc.). The other mechanism currently used to configure or onboard devices involves having the devices negotiate over the destination wireless network itself (e.g., according to the Wi-Fi Protected Setup (WPS) standard). However, as noted above, these mechanisms tend to be complex, unreliable, and/or insecure.